home *** CD-ROM | disk | FTP | other *** search
/ MacHack 1993 / MacHack 1993.toast / MacHack™ 1987-1992 / MacHack™ '90 / Utilities ƒ / MPW Tools ƒ / Simula4.07 / Simula 4.07ƒ / SInterfaces / macWindow.sim < prev    next >
Encoding:
Text File  |  1989-05-01  |  5.6 KB  |  186 lines  |  [TEXT/MPS ]

  1. % ---------------------------------------------------------------------------
  2. %    Class MACWindow
  3. %
  4. % In this module you find the programmers interface to Windows.
  5. % It is built on top of the TOOLBOX routines in TOOLBOXWindows.
  6. % For a description of the routines see Inside Macintosh, chapter 9.
  7. %
  8. % 890317/Boris Magnusson
  9. %
  10. % ---------------------------------------------------------------------------
  11. External class TOOLBOXWindow="::SInterfaces:ToolboxWindow";
  12. External class MacToolConst="::SInterfaces:MacToolConst";
  13. External class MacQuickdraw="::SInterfaces:MacQuickdraw";
  14. external class MACEvent="::SInterfaces:MACEvent";
  15. external class MACPoint="::SInterfaces:MACPoint";
  16. external class MACRect="::SInterfaces:MACRect";
  17.  
  18. MacQuickdraw class MACWindow;
  19. begin    
  20.     integer NIL=0;               ! Pascal constant ;
  21.     ref(TOOLBOXWindow) TRAP;  ! To access Window Toolbox traps ;
  22.     ref(MacToolConst) TConst; ! To access Tool Toolbox Constants ;
  23.     ref(macUtilities) Util;      ! To access Utilities ;
  24. ! ---------------------------;
  25.     !for Window Manager;
  26.  
  27.     procedure ClipAbove;    TRAP.TOOLBOXClipAbove(WindowPtr);
  28.  
  29.     procedure PaintOne(clobbered);integer clobbered;
  30.         TRAP.TOOLBOXPaintOne(WindowPtr,clobbered); 
  31.         
  32.     procedure PaintBehind(clobbered);integer clobbered; 
  33.         TRAP.TOOLBOXPaintBehind(WindowPtr,clobbered);
  34.  
  35.     procedure SaveOld;    TRAP.TOOLBOXSaveOld(WindowPtr);
  36.  
  37.     procedure DrawNew(fUpdate);Boolean fUpdate;
  38.         TRAP.TOOLBOXDrawNew(WindowPtr,fUpdate);
  39.  
  40.     procedure CalcVis;    TRAP.TOOLBOXCalcVis(WindowPtr);
  41.  
  42.     procedure CalcVisBehind(clobbered);integer clobbered;
  43.         TRAP.TOOLBOXCalcVisBehind(WindowPtr,clobbered);
  44.  
  45.     procedure ShowHide(showFlag);Boolean showFlag;
  46.         TRAP.TOOLBOXShowHide(WindowPtr,showFlag);
  47.  
  48.     Boolean procedure CheckUpdate(E); ref(MACEvent) E;
  49.         CheckUpdate:=TRAP.TOOLBOXCheckUpdate(E.what);
  50.  
  51.     procedure NewWindow(bounds,title,visible,theProc,behind,
  52.             goAwayFlag,refCon);
  53.         ref(MACRect) bounds;
  54.         text title;
  55.         boolean visible;
  56.         short integer theproc;
  57.         ref(MACWindow) behind;
  58.         Boolean goAwayFlag;
  59.         integer refCon;
  60.     begin
  61.         text t;
  62.         t:-util.text_string(title);
  63.         Windowptr:=TRAP.TOOLBOXNewWindow
  64.             (NIL,bounds.top,t,visible,theProc,
  65.             if behind==none then NIL else behind.WindowPtr,
  66.             goAwayFlag,refCon);
  67.     end;
  68.  
  69.     procedure GetNewWindow(windowID,behind);
  70.         short integer windowID; ref(MACWindow) behind;
  71.     begin
  72.         Windowptr:=TRAP.TOOLBOXGetNewWindow(windowID,NIL,
  73.            if behind==none then NIL else behind.WindowPtr);    
  74.     end;
  75.     procedure CloseWindow;    TRAP.TOOLBOXCloseWindow(WindowPtr);
  76.     procedure DisposeWindow;    TRAP.TOOLBOXDisposeWindow(WindowPtr);
  77.     
  78.     procedure MoveWindow(h, v,BringToFront);
  79.         short integer h,v;Boolean BringToFront;
  80.             TRAP.TOOLBOXMoveWindow(WindowPtr,h, v,BringToFront);
  81.  
  82.     procedure SizeWindow(width,height,fUpdate);
  83.         short integer width,height; Boolean fUpdate;
  84.             TRAP.TOOLBOXSizeWindow(WindowPtr,width,height,fUpdate);
  85.  
  86.     integer procedure GrowWindow(startPt,bBox);
  87.             ref(MACPoint) startPt;
  88.             ref(MACRect) bBox;
  89.         GrowWindow:=TRAP.TOOLBOXGrowWindow(Windowptr,
  90.             startPt.h,startPt.v,
  91.             bBox.top);
  92.  
  93.     procedure DragWindow(startPt,bounds);
  94.             ref(MACPoint) startPt;
  95.             ref(MACRect) bounds;
  96.         TRAP.TOOLBOXDragWindow(Windowptr,startPt.h,startPt.v,bounds.top);
  97.  
  98.     procedure ShowWindow;   TRAP.TOOLBOXShowWindow(WindowPtr);
  99.     procedure HideWindow;   TRAP.TOOLBOXHideWindow(WindowPtr);
  100.  
  101.     procedure SetWTitle(title); text title;
  102.     begin
  103.         text temp;
  104.         temp:-Util.text_string(title);
  105.         TRAP.TOOLBOXSetWTitle(WindowPtr,temp );
  106.     end;
  107.  
  108.     procedure GetWTitle(title);name title; text title;
  109.     begin
  110.         text temp;
  111.         temp:-blanks(256);
  112.         TRAP.TOOLBOXGetWTitle(WindowPtr,temp );
  113.         Title:-Util.string_text(temp);
  114.     end;
  115.  
  116.     procedure HiliteWindow(fHiLite);Boolean fHiLite;
  117.         TRAP.TOOLBOXHiliteWindow(WindowPtr, fHiLite);
  118.  
  119.     procedure BeginUpdate; TRAP.TOOLBOXBeginUpdate(WindowPtr);
  120.     procedure EndUpdate; TRAP.TOOLBOXEndUpdate(WindowPtr);
  121.  
  122.     procedure SetWRefCon(data);integer data;
  123.         TRAP.TOOLBOXSetWRefCon(WindowPtr,data);
  124.  
  125.     integer procedure GetWRefCon; 
  126.             GetWRefCon:=TRAP.TOOLBOXGetWRefCon(WindowPtr);
  127.  
  128.     procedure SetWindowPic(thePic);integer thePic; ! PicHandle; 
  129.         TRAP.TOOLBOXSetWindowPic(WindowPtr,thePic);
  130.  
  131.     integer procedure GetWindowPic;
  132.         GetWindowPic:=TRAP.TOOLBOXGetWindowPic(WindowPtr); ! returns Pic Handle !;
  133.  
  134.     procedure BringToFront;  TRAP.TOOLBOXBringToFront(WindowPtr);
  135.  
  136.     procedure SendBehind(behind);ref(MACWindow) Behind;
  137.         TRAP.TOOLBOXSendBehind(WindowPtr,behind.WindowPtr);
  138.  
  139.     Boolean procedure TrackGoAway(thePt); ref(MACPoint) thePt;
  140.         TrackGoAway:=TRAP.TOOLBOXTrackGoAway(WindowPtr,thePt.h,thePt.v);
  141.  
  142.     procedure DrawGrowIcon;
  143.         TRAP.TOOLBOXDrawGrowIcon(WindowPtr);
  144.  
  145. !new 128K ROM;
  146.  
  147.     Boolean procedure TrackBox(thePt,partCode);
  148.         ref(MACPoint) thePt;
  149.         integer partCode;
  150.         TrackBox:=TRAP.TOOLBOXTrackBox(WindowPtr,thePt.h,thePt.v,partCode);
  151.  
  152.     procedure ZoomWindow(partCode,front);
  153.         integer partCode;
  154.         Boolean front;
  155.         TRAP.TOOLBOXZoomWindow(WindowPtr,partCode,front);
  156.  
  157. ! --- Belong somewhere else ???------------- ;
  158.  
  159. %    external TRAP.TOOLBOX procedure x="$A92A" is  
  160. %        ValidRect(goodRect: Rect);;
  161. %
  162. %    external TRAP.TOOLBOX procedure x="$A929" is  
  163. %        ValidRgn(goodRgn: RgnHandle);;
  164. %
  165. %    external TRAP.TOOLBOX procedure x="$A928" is  
  166. %        InvalRect(badRect: Rect);;
  167. %
  168. %    external TRAP.TOOLBOX procedure x="$A927" is  
  169. %        InvalRgn(badRgn: RgnHandle);;
  170. %
  171. %    external TRAP.TOOLBOX procedure x="$A94E" is  
  172. %        PinRect(theRect: Rect; thePt: Point): LONGINT;;
  173. %
  174. %    external TRAP.TOOLBOX procedure x="$A905" is  
  175. %        DragGrayRgn(theRgn: RgnHandle; startPt: Point; boundsRect,
  176. %                     slopRect: Rect; axis: INTEGER;
  177. %                     actionProc: ProcPtr): LONGINT;;
  178.     
  179. % ???        procedure TRAP.TOOLBOXGetWMgrPort(GrafPtr);integer GrafPtr;;
  180.  
  181.  
  182.     TRAP:-new TOOLBOXWindow;
  183.     TConst:-new MacToolConst;
  184.     Util:- new MacUtilities;
  185. END --- class MAC WINDOW --- ;
  186.